home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Free 10
/
Commodore_Free_Issue_10_2007_Commodore_Computer_Club.d64
/
t.jim butterfi
< prev
next >
Wrap
Text File
|
2023-02-26
|
12KB
|
443 lines
u Jim Butterfield:
The Commodore Guru
-An Interview Copyright 1996, 1999
by Jim Lawless
This article originally appeared in
Commodore Hacking #14.
http://www.radiks.net/{$fe}jimbo/art/c642.
htm
My initial interest in the Commodore
64 computer began in 1983. At the
time, my primary source of information
pertaining to the C64 came from
Compute! and Compute!'s Gazette
publications. One author's name
stoodfrom the rest; Jim Butterfield.
I used to turn to Jim's articles
immediately when I managed to get my
hands on a new magazine. Mr.
Butterfield has the rare ability to
describe complex subjects in simple
terms.
I'm certain that I'm not alone when I
credit Jim with having taught me a lot
about the inner workings of the
Commodore 64. As important as the
specifics of writing code for the C64
was Jim's style. He would often write
code that was readily portable to
multiple CBM machines. His code had
longevity and purpose. The solidity of
his programs left me with a lasting
impression pertaining to how software
should be developed. The following
interview with Jim was conducted via
e-mail.
Q: What was the first programming
language that you learned? A: In about
1963, an assembly language called
COGENT for a computer that few people
have ever heard of: a Collins Radio
C-8401. That was shortly followed by
work on an IBM 1401, which had a
machine language that was
alphanumeric. (Honest! You could
keypunch M/L directly! )
Q: Were numbers expressed in Base-36?
A: No. Decimal. The basic machine had
1000 bytes (not 1K) of (7-bit) memory
(core, not RAM!) so addresses ranged
from 000 to 999 (and were given in
decimal, of course) .Expanded machines
had 4K, then 16K ... the addresses
were slightly more complex in that
case. Thus, to move bytes from an area
at, say address 123 to address 456 the
instruction would be M123456. I AM NOT
MAKING THIS UP!!! !
Q: Did you guys have contests to spell
out goofy words as part of a program?
( I know of a programmer who used to
regularly use the return code $0BAD to
indicate a problem... )
A: No (the addresses mixed in with the
op codes ruled that out), but you
could do fun things on a 1401 if the
system manager wasn't looking such as
play music.
Q: What was the first computer that
you owned?
A: Not counting the TUTAC-1, which was
powered by rubber bands and was more
correctly a logic machine: The KIM-1,
a single-board microcomputer made by
MOS Technologies, Inc., of Norristown
PA. MOS Technologies was subsequently
acquired by Commodore.
Q: When did you first encounter a
Commodore computer?
A: When Commodore acquired MOS
Technologies, the computer that I had
owned for over a year became a
Commodore computer. Subsequently, an
employee of MOS Technologies, Chuck
Peddle, convinced Jack Tramiel of
Commodore that they should launch a
personal computer called "The PET". I
got one of those not long after they
started production.
Q: Did you have formal training in
computer programming?
A: Yes, on that long-ago Collins
C-8401. But this was more a process-
control machine; it didn't use of any
the newfangled (at the time)
languages such as Fortran and Cobol.
So my training was in machine
language/assembler.
Q: What was the first book that you
wrote?
A: A couple of enthusiasts and I
collaborated on a volume called "The
First Book of KIM", a book describing
how to do things with the KIM-1
single board computer. That computer
was powered by a 6502,by the way; in
fact the KIM- 1 board itself was
designed as a engineering prototype
for people who wanted to try out the
chip.
Q: Was it similar to the Altair where
you had to manually increment an
address- counter before you could
throw the switches to set the byte at
that address?
A: No, the KIM-1 had an operating
system in ROM. That's one of the
things that made all KIM users "equal"
and able to share programs, while the
other early micro owners had quite a
scattering of stuff.
Q: What COULD you do with a KIM-1?
A: Hey, watch it! That's like saying,
"What could you do with a Commodore
64" ? Although the KIM-1 came with a
hexadecimal keypad rather than a
keyboard, and output to a six-digit
LED display, you could use those to
good advantage AND hook up extra
stuff. Play music? Play Blackjack?
Hunt the Wumpus? Skeet shoot? Unless
you had the budget for a printer,
you'd have a hard time doing an
accounts receivable, of course. But
this is the 6502 we're talking about!
And we all know it can do ANYTHING!
Q: What was the last book that you
wrote?
A: It's probably the revised version
of "Machine Language For the Commodore
64, 128, and Other Commodore
Computers". In 1985 and 1986, however,
I did produce a "pocket diary"
reference guide for Commodore 8- bit
computers.
Q: Have you ever written articles or
books on subjects that are not
computer-related?
A: My first writing experience was a
treatise on transistor theory,
published by Popular Electronics in
August of 1959. Not much else.
Q: Did you write commercial software
for any of the Commodore computers?
A: As a general rule, no. All my
stuff is public domain. At one time, I
had written a simple spell-checking
engine that was incorporated into a
word processing package for a while.
Q: SuperMon was a tool that I used
daily when developing ML routines or
exploring the C64. What prompted you
to write SuperMon?
A: In the early days of Commodore
personal computers, there were quite a
few machine language monitors around.
They were partly based on some
publicly published code by Steve
Wozniak (of Apple!), and partly based
on the MOS Technology TIM monitor,
from KIM-1 days.
Two variants of the basic monitor
caught my eye: NewMon, which added
several useful features to the basic
Machine Language Monitor; and HiMon,
which sited the monitor in upper
memory where it wouldn't conflict with
BASIC programs. decided to put the two
together and generate a
self-relocating MLM. That was
desirable in early PET/CBM days, where
some computers would come with 8K RAM,
some with 16K, and others with 32K;
you couldn't assume where the top of
memory would be.
In those days, almost every Commodore
computer came with a small built- in
MLM, and the first Supermon was an
add-on. Later, as Commodore changed
the style of the MLM packages they
built into newer machines such as the
128, I went back and modified those
earlier versions so that they would
work the same across all platforms.
Q: Did you ever expand the
mini-assembler in SuperMon into a
full-blown assembler development
package?
A: No. I hustled Brad Templeton into
writing PAL, so that there would be
an assembler available for those who
needed it. There had been a few
assemblers around before that -
Commodore had one, and another was
the MAE system - but was sure that
somebody like Brad could do better.
Q: Even Superman had to put up with
Kryptonite. Describe your worst
experience as a software developer /
technical writer.
A: My first publication of SuperMon
in Compute! magazine had the wrong
end-of address supplied (my fault). I
got a LOT of mail and phone calls on
that one.
Q: I had heard a rumor pertaining to
your software development habits that
indicated you would approach a given
project with full force. You would
focus your undivided attention on it
until it was complete. Is this rumor
accurate?
A: Possibly. If I have a project
under way, it "follows me around"
until it's complete; I fret over it
and can't put it away until all the
pieces are in place.
Q: If so, did you ever change this
methodology?
A: Not to any great extent. A
half-written program bugs me, and I
won't rest until it's finished .I
might, however, decide that I'm
taking the wrong track, and scrap a
program completely in order to start
over. This isn't a loss: the first
attempt can show you what's really
wanted.
Q: Your articles made you seem a bit
omniscient. You always had the inside
info on the newest CBM computers and
always seemed to be able to explain
their complexities in a manner that
would suggest that you had a lot of
time to study them. I don't know a
whole lot about your employment
during the mid/late 80's. Were you
affiliated with CBM? A beta-tester?
A: I had many friends in Commodore
Canada, but I never worked for the
company, although I did contract work
for them on occasion. The big problem
was not getting information from
Commodore; it was learning to ignore
most of it. Commodore was bubbling
over with ideas and plans that never
came to fruition. There was no point
in writing about projects that never
happened (the Commodore music box?
the cash register? the videotape/disk
storage device?). I took the
position: "Don't tell me about it
until it's a real product! Commodore
Canada was an excellent source of
information, and I relied on them to
keep me from straying too far into
technical speculation.
Q: Did you use any high-level
languages on CBM computers?
A: BASIC, of course. COMAL, a BASIC
derivative language from Denmark, was
nicely constructed. Played around a
little with C, but that language
doesn't fit comfortably into an 8-bit
environment.
Q: What was your favourite computer
that CBM produced?
A: I don't know that I have a single
favorite. The early PET/CBM machines
were great "discovery" platforms,
where we could investigate these
wonderful new computers. The advent
of the VIC-20 and the Commodore 64
brought color and sound, which added
to the charm of these home computers;
but they paid a penalty in slow disk
access and screen width limitations.
Today, perhaps the Commodore 128
ranks as the best, or at least the
computer with most general usability.
But it wasn't produced in quantities
as great as some of the earlier
machines, and so the user community
hasn't been quite as furious.
Q: What kind of home computer do you
currently use?
A: C128 .. Amiga .. Pentium system.
All three.
Q: Who were your influences as
related to writing?
A: Nobody specific. Just tried to
write it as I would say it.
Q: Who were your influences as
related to programming?
A: I've worked with a lot of sharp
programmers over the years. Not one I
can pick out especially.
Q: If you could relive the CBM glory
years, would you do anything
differently? A: I don't think so. On
another path, I could have gone for
big bucks; but making money carries a
responsibility to support and
service, and that would have taken
the fun out of it.
Q: Is your current job
computer-related?
A: I'm currently more or less
retired.
Q: If you had not chosen a career in
computing, what field of endeavor
would you most likely have pursued?
A: Before computers, I worked in
electronics and telecommunications.
Q: What are your current hobbies?
A: Reading; travel; films; raising my
daughter. (That's a hobby??? )
Q: What sort of technical literature
do you currently read?
A: Mostly reference material. Current
magazines are heavy on the "what's
for sale" stream; to my mind, that's
not the fun part of computing.
Q: Are you surprised that a sort of
"CBM renaissance" has been taking
place the last few years (
...availability of C64 emulators on
multiple platforms and such...the
SuperCPU from CMD...) .
A: It's a shame that Commodore wasn't
able to/interested in keeping the
8-bit line going. It's good to see
that is happening. Surprised? A
little. But enthusiasts and user
groups have always had a stronger
effect than manufacturers are willing
to admit.
Q: What is your opinion on the way
consumer computing has evolved since
the inception of the early PET
machines?
A: The average computer user today
has a lot less fun than we still have
with the early machines. The industry
message today is "Buy it and use it,
and then turn it off .. don't worry
or think about how it all works".
That's sure a lot less fun for
tinkerers.
Q: What words of wisdom would you
care to impart on a new (or
revitalized) generation of CBM
hackers?
A: Enjoy what you're doing! If it
becomes drudgery, you're doing it
wrong!
Taken from
http://www.radiks.net/{$fe}jimbo/art/c642.
htm Commodore Free would like to
thank Jim Lawless for permitting the
reprinting of his interview with Jim
Butterfield
...end...